import 'package:flutter/widgets.dart';

{{#useWloc}}{{#wlocHasState}}
import 'package:equatable/equatable.dart';
import 'package:learning_content_admin_pannel.core/core/presentation/widgets/stateful_wloc.dart';
import 'package:learning_content_admin_pannel.core/core/presentation/widgets/wloc_builder.dart';
{{/wlocHasState}}{{/useWloc}}

{{#useWloc}}{{^wlocHasState}}
import 'package:learning_content_admin_pannel.core/core/presentation/widgets/stateless_wloc.dart';
{{/wlocHasState}}{{/useWloc}}

{{#useTheme}}
import 'dart:ui';
import 'package:learning_content_admin_pannel.core/core/presentation/theme/theme.dart';
{{/useTheme}}

{{#useTheme}}
part 'theme/styles.dart';
part 'theme/text_theme.dart';
part 'theme/theme.dart';
{{/useTheme}}

{{#useTranslation}}part 'translation.dart';{{/useTranslation}}

part 'view.dart';

{{#useWloc}}part 'wloc.dart';{{/useWloc}}

{{#useWloc}}{{#wlocHasState}}
part 'wloc_state.dart';
part 'wloc_state_factory.dart';
{{/wlocHasState}}{{/useWloc}}

{{#useWloc}}class {{pageName.pascalCase()}} extends StatefulWidget {
  const {{pageName.pascalCase()}}({
    required this.pageModel,
    super.key,
  });

  final {{pageName.pascalCase()}}Model pageModel;

  @override
  State<{{pageName.pascalCase()}}> createState() => _{{pageName.pascalCase()}}Wloc();
}{{/useWloc}}

{{^useWloc}}
class {{pageName.pascalCase()}} extends StatelessWidget {
  const {{pageName.pascalCase()}}({
    required this.pageModel,
    super.key,
  });

  final {{pageName.pascalCase()}}Model pageModel;

  @override
  Widget build(BuildContext context) {
    return {{> page_view_creation }};
  }
}
{{/useWloc}}
